// 定义常量
var MIN_YEAR = 1900; // 最小年份
var date = new Date();
var currentYear = date.getFullYear(); // 最大年份为当前年份

// 初始化出生日期下拉框
// function initBirthSelect() {
//
//     var date = new Date();
//     var currentYear = date.getFullYear(); // 当前年份
//     var currentMonth = date.getMonth() + 1; // 当前月份
//     var currentDay = date.getDate(); // 当前日
//
//     // 初始化年份下拉框(1900--2100)
//     initYearSelect(currentYear);
//     // 初始化月份下拉框
//     initMonthSelect(currentMonth)
//     // 初始化天数下拉框
//     initDaySelect(currentYear, currentMonth, currentDay);
// }

// 初始化年份下拉框(1900--2100)
function initYearSelect(year) {

    var yearSelect = $("#year"); // 获得年份下拉框对象
    var yearStr = "";

    for (var i = MIN_YEAR; i <= currentYear; i++) {
        // 下拉框选中当前年
        if (i == year) {
            yearStr = yearStr + "<option selected='selected'>" + i + "</option>";
        } else {
            yearStr = yearStr + "<option>" + i + "</option>";
        }
    }

    // 赋值
    yearSelect.html(yearStr);
}

// 年份和月份改变后触发
function changeDay() {
    var selectYear = $("#year").val();
    var selectMonth = $("#month").val();
    var selectDay = 1;

    // 更新天数
    initDaySelect(Number(selectYear), Number(selectMonth), Number(selectDay));
}

// 初始化月份下拉框
function initMonthSelect(month) {
    var monthSelect = $("#month"); // 获得年份下拉框对象
    var monthStr = "";

    for (var i = 1; i <= 12; i++) {
        // 下拉框选中当前月
        if (i == month) {
            monthStr = monthStr + "<option selected='selected'>" + i + "</option>";
        } else {
            monthStr = monthStr + "<option>" + i + "</option>";
        }
    }

    // 赋值
    monthSelect.html(monthStr);
}

// 初始化天数下拉框
function initDaySelect(year, month, day) {
    var daySelect = $("#day"); // 获得年份下拉框对象
    var dayStr = "";
    // 修改一下月份的格式，去掉前面的0
    // if (month.charAt(0) == "0") {
    //     month = month.charAt(1);
    // }

    var maxDay = getMaxDay(year, month); // 获得年月对应的最大天数

    for (var i = 1; i <= maxDay; i++) {
        // 下拉框选中当前日
        if (i == day) {
            dayStr = dayStr + "<option selected='selected'>" + i + "</option>";
        } else {
            dayStr = dayStr + "<option>" + i + "</option>";
        }
    }

    // 赋值
    daySelect.html(dayStr);
}

// 判断是否为闰年
function isLeapYear(year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

// 获得某年某月最大的天数
function getMaxDay(year, month) {

    var maxDay = 0; // 令最大天数为0;

    switch (parseInt(month)) {
        case 2:
            if (isLeapYear(year)) {
                maxDay = 29;
            } else {
                maxDay = 28;
            }
            break;
        case 4:	// 小月
        case 6:
        case 9:
        case 11:
            maxDay = 30;
            break;
        case 1: // 大月
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            maxDay = 31;
            break;
        default : // 月份错误
            maxDay = -1;
            break;
    }

    // 返回最大天数
    return maxDay;
}